Compact DFA Representation for Fast Regular Expression Search
نویسندگان
چکیده
We present a new technique to encode a deterministic nite automaton (DFA). Based on the speciic properties of Glushkov's nondeterministic nite automaton (NFA) construction algorithm, we are able to encode the DFA using (m + 1)(2 m+1 + jj) bits, where m is the number of characters (excluding operator symbols) in the regular expression and is the alphabet. This compares favorably against the worst case of (m+1)2 m+1 jj bits needed by a classical DFA representation and m(2 2m+1 + jj) bits needed by the Wu and Manber approach implemented in Agrep. Our approach is practical and simple to implement, and it permits searching regular expressions of moderate size (which include most cases of interest) faster than with any previously existing algorithm, as we show experimentally.
منابع مشابه
Bit-coded Regular Expression Parsing
Regular expression parsing is the problem of producing a parse tree of a string for a given regular expression. We show that a compact bit representation of a parse tree can be produced efficiently, in time linear in the product of input string size and regular expression size, by simplifying the DFA-based parsing algorithm due to Dubé and Feeley to emit the bits of the bit representation witho...
متن کاملBypassing Space Explosion in Regular Expression Matching for Network Intrusion Detection and Prevention Systems
Network intrusion detection and prevention systems commonly use regular expression (RE) signatures to represent individual security threats. While the corresponding DFA for any one RE is typically small, the DFA that corresponds to the entire set of REs is usually too large to be constructed or deployed. To address this issue, a variety of alternative automata implementations that compress the ...
متن کاملConstruction of a Minimal Deterministic Finite Automaton from a Regular Expression
This paper describes a method for constructing a minimal deterministic finite automaton (DFA) from a regular expression. It is based on a set of graph grammar rules for combining many graphs (DFA) to obtain another desired graph (DFA). The graph grammar rules are presented in the form of a parsing algorithm that converts a regular expression R into a minimal deterministic finite automaton M suc...
متن کاملSDFA: Series DFA for Memory-Efficient Regular Expression Matching
Regular expression (RegEx) matching plays an important role in various network, security and database applications. Deterministic finite automata (DFA) is the preferred representation to achieve online RegEx matching in backbone networks, because of its one single pass over inputs for multiple RegExes and guaranteed performance of O(1) memory bandwidth per symbol. However, DFA may occupy prohib...
متن کاملAn Efficient Regular Expression Matching Method Based on Guess and Verification
Nowadays, Deterministic Finite Automaton (DFA) has been widely used to compare packet contents at a constant speed against a set of regular expressions in network security inspections. However, combining multiple regular expressions into a single DFA may cause a serious state explosion, which makes them impractical on large-scale rule set. In order to address this issue, this paper proposed a m...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001